SciChart WPF 2D Charts > 2D Chart Types > Renderable Series APIs > Intro to the Renderable Series API
Intro to the Renderable Series API

Every 2D Chart type in SciChart is represented by a corresponding Renderable Series type. Some Renderable Series render simple X-Y values (2D points in space). For instance, FastLineRenderableSeries can be used to create a Line Chart and FastColumnRenderableSeries can be used to create a Bar Chart. Others can render additional information (such as X-Y0-Y1 values, or X-Y-Z values). For example, FastBandRenderableSeries can be used to create a Band Chart and FastBubbleRenderableSeries can be used to create a Bubble Chart.

All Renderable Series types are derived from the BaseRenderableSeries type. This is a WPF FrameworkElement which is included in the Visual Tree for binding purposes, but is rendered using our own proprietary bitmap/texture based rendering engine.

Multi-Axis Charts

In SciChart, it is required that each Axis in a corresponding Axis Collection has a unique identifier. This is a string that can be provided via the Axis.Id property. By default, all axes have a default Axis ID

For single-axis charts there is no need to set Axis Id. As soon as there is a secondary Axis, you need to start assigning IDs to all Axes in the corresponding Axis Collection.

In such multiple-axis scenarios, Renderable Series can be associated with a certain Axis. This is useful when multiple chart types are combined, or when some Renderable Series require individual scales. XAxisId and YAxisId properties of a Renderable Series are used to attach this Renderable Series to a specific X or Y Axis.

NOTE: By default, Renderable Series are associated with X and Y Axes that have the default axis ID. As soon as you set Axis.Id on an Axis explicitly you must consider whether you need your Renderable Series to be associated with this Axis. If so, you need to update the XAxisId or YAxisId properties on all the Renderable Series in question.

Common RenderableSeries Properties

The common properties of the BaseRenderableSeries class are listed below.

Specific series types (chart types) are detailed in the following sections:

BaseRenderableSeries Property Description
AntiAliasing

When true (default=true), the series is drawn with AntiAliasing, and edges will be smoothed.

Turning AntiAliasing off can yield a performance boost. For some chart types, e.g. Candlestick it is advisable to leave it off for a crisper visual.

DataSeries The DataSeries is the data-source for the RenderableSeries. Please see  DataSeries API section for a complete walk-through of the DataSeries API
DrawNaNAs How to draw NaN. In SciChart, double.NaN or float.NaN is treated as a null point which by default draws a gap in a series. For some chart types, e.g. Line, you can also draw a closed line.
IsSelected When true, the series is selected. Selected series are always drawn at the top Z-index (above other series). Also, the SelectedSeriesStyle is applied to the series.
IsVisible When true, the series is visible. To hide a series, set IsVisible = false.
LegendMarkerTemplate Provides a template to identify the series in Legends. Override this if you have created a custom series, or if you want anything other than the default marker displayed in a legend.
PaletteProvider The PaletteProvider API allows changing the color of a series on a per-point basis. For more details about the PaletteProvider API see Paletted Series
PointMarker The PointMarker property lets you set an optional marker (e.g. Ellipse, Square, Triangle) on data-points. For more details about the PointMarker API see Point Marker API -BaseRenderableSeries.Pointmarker
PointMarkerTemplate The PointMarkerTemplate property lets you set an optional marker in a shared style. For more details about the PointMarkerTemplate API see Point Marker API -BaseRenderableSeries.Pointmarker
ResamplingMode The ResamplingMode lets you choose how series are culled when drawing. For more details about resampling, see Resampling
RolloverMarkerTemplate The RolloverMarkerTemplate applies a marker to the series when the RolloverModifier is used – a behaviour which adds tooltips to the chart. For more details about this the RolloverMarkerTemplate, see RolloverModifiers.
SelectedSeriesStyle Applies a custom style to the series when IsSelected is true. Use this to change the appearance of a series when selected. For more details about the SelectedSeriesStyle, see SeriesSelectionModifier
Stroke The default stroke of the Renderable Series, e.g. FastLineRenderableSeries.Stroke denotes the color of the line.
StrokeThickness The default stroke thickness of the Renderable Series, e.g. FastLineRenderableSeries.StrokeThickness denotes the thickness of the line.
XAxisId

The XAxisId of the series allows you to attach a series to a specific axis. If you only have single X and Y Axis you can leave this default.

YAxisId The YAxisId of the series allows you to attach a series to a specific axis. If you only have single X and Y Axis you can leave this default.
ZeroLineY

Used by certain series to draw a zero line, e.g. the Column Series type draws all points to zero. Change this property to change the zero line.

 

 Some Notes on RenderableSeries and WPF Standard Features

RenderableSeries all inherit BaseRenderableSeries, which is derived from the WPF ContentControl and such can be styled, themed, however they are not truly visual UIElements in the sense that WPF visuals are. The RenderableSeries are included in the Visual Tree so that styling and RelativeSource binding works, however they are not rendered using the WPF composition engine.

Instead, SciChart uses an alternate, Raster (bitmap or Texture) rendering engine to draw the RenderableSeries as quickly as possible. The alternate rendering engine means some WPF concepts we are used to no longer apply, however, the designers of the SciChart API have done their best to ensure that as many intuitive concepts as possible carry over from vanilla WPF to SciChart.

 

See Also